<template>
    <div>
		<!-- 视频看到17：20 -->

        <!-- 顶部滑动条区域 -->
        <div id="slider" class="mui-slider">
			<div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
				<div class="mui-scroll">
					<a :class="['mui-control-item', item.id == 0 ? 'mui-active' : '']" 
						v-for="item in cates" :key="item.id" @click="getPhotoListByCateId(item.id)">
						{{ item.title }}
					</a>
				</div>
			</div>
		</div>

		<!-- 图片列表区域 -->
		<ul class="photo-list">
			<router-link v-for="item in list" :key="item.id" :to="'/home/photoinfo/' + item.id"  tag="li">
				<img v-lazy="item.img_url">
				<div class="info">
					<h1 class="info-title">{{ item.title }}</h1>
					<div class="info-body">{{ item.zhaiyao }}</div>
				</div>
			</router-link>
		</ul>

	</div>
</template>

<script>
// 1. 导入 mui 的js文件
import mui from '../../lib/mui/js/mui.min.js'


export default {
	data(){
		return{
			cates:[],	//所有分类的列表数组
			list:[]		//图片列表的数组
		};
	},
	created(){
		this.getAllCategory();
		this.getPhotoListByCateId(0);		// 默认进入页面，就主动请求 所有图片列表的数据
	},
	mounted() {
		// 当 组件中的DOM结构被渲染好并放到页面中后，会执行这个钩子函数
		// 如果要操作元素了，最好在 mounted 里面，因为 这个时候的 DOM 元素 是最新的

		// 2. 初始化滑动控件
		mui('.mui-scroll-wrapper').scroll({
			deceleration: 0.0005 //flick 减速系数，系数越大，滚动速度越慢，滚动距离越小，默认值0.0006
		});
	},
	methods:{
		getAllCategory(){
			this.$http.get("api/getimgcategory").then(result => {
				if(result.body.status === 0){
					//手动拼接出一个最完整的 分类列表
					result.body.message.unshift({ title:"全部",id:0});
					this.cates = result.body.message;
				}
			})
		},
		getPhotoListByCateId(cateId){	//根据分类id，获取图片列表
			this.$http.get('api/getimages/' + cateId).then(result => {
				if(result.body.status === 0){
					this.list = result.body.message;
				}
			})
		}
	}
}
</script>

<style lang="scss" scoped>
/**
在滑动的时候会出现这个错误：可以添加以下样式消除错误
mui.min.js:1651 [Intervention] Unable to preventDefault inside passive event listener due to 
target being treated as passive.
*/
//原因：是 Chrome 为了提高页面的滑动流畅度而折腾出来的一个东西
*{
	touch-action:pan-y;
}

.photo-list{
	list-style:none;
	padding:10px;
	margin:0;
	padding-bottom:0;
	li{
		position:relative;

		background-color:#ccc;
		text-align:center;
		margin-bottom:10px;
		box-shadow: 0 0 9px #999;
		img{
			width:100%;
			vertical-align:middle;
		}

		img[lazy=loading] {
			width: 40px;
			height: 300px;
			margin: auto;
		}

		.info{
			position:absolute;
			bottom:0;

			color:#fff;
			text-align:left;
			background-color:rgba(0,0,0,0.4);
			max-height:90px;
			.info-title{
				font-size:15px;
				

			}
			.info-body{
				font-size:13px;
			}
		}
		
	}
}



</style>